-- PSIM(FROM af-vmoa-0175.000.doc) 
-- PSIM: The text in this section defines the MIB for the remote management of the CP-IWF 
-- PSIM: function as defined in af-vmoa-0145.000.  The MIB is specified in SMIv2 syntax.


-- MIB for configuration, performance, and fault management of
-- the Loop Emulation Service (LES).

CPIWF-MIB DEFINITIONS ::= BEGIN

IMPORTS

        MODULE-IDENTITY, OBJECT-TYPE,
        enterprises, Counter32, Integer32,
        NOTIFICATION-TYPE                               FROM SNMPv2-SMI

        MODULE-COMPLIANCE, OBJECT-GROUP,
        NOTIFICATION-GROUP                              FROM SNMPv2-CONF;


-- ------------------------------------------------------------ --
--
--  The following OBJECT IDENTIFIER definition should be moved to
--  some other location, to conform with the statement in RFC 1442
--  that the MODULE-IDENTITY section must appear immediately after
--  any IMPORTs or EXPORTs statements.
--
--  However, some MIB utilities don't like MODULE-IDENTITY OIDs of
--  the form { enterprises atmForum(353) ... 1 }.  Separate OBJECT
--  IDENTIFIER definitions appear to be more widely accepted - so,
--  in the interests of compatibility, it remains.
--
-- ------------------------------------------------------------ --


-- The object identifier subtree for ATM Forum Loop Emulation Service MIBs

atmForum                        OBJECT IDENTIFIER ::= { enterprises 353 }

atmForumNetworkManagement       OBJECT IDENTIFIER ::= { atmForum 5 }

atmfLoopEmulationService        OBJECT IDENTIFIER ::= { atmForumNetworkManagement 10 }

cpIwfMIB MODULE-IDENTITY
        LAST-UPDATED    "200107260000Z"
        ORGANIZATION    "ATM Forum VMOA Working Group"
        CONTACT-INFO
                "The ATM Forum
                1000 Executive Parkway, Suite 200
                St. Louis, MO 63141
                United States of America
                Tel: +1 314 205 0200
                E-mail: info@atmforum.com"
        DESCRIPTION
                "This module defines a portion of the management information
                base (MIB) for managing the LES CP-IWFs. It is meant to be
                used in connection with MIB-II System Group and RFC 2863
                which defines the ifTable."
        ::= { atmfLoopEmulationService 1 }

cpIwfMIBObjects         OBJECT IDENTIFIER ::= { cpIwfMIB 1 }
cpIwfMIBNotifications   OBJECT IDENTIFIER ::= { cpIwfMIB 2 }


-- The cpIwfMIB Group

-- Implementation of this group is mandatory for all
-- systems that implement the LES as defined in af-vmoa-0145.000

-- The cpIwfMIB Group consists of the following:
--      cpIwf Group
--      cpIwfAal2Profile Group
--      cpIwf Pots Port Configuration Table
--      cpIwf ISDN-BRI Port Configuration Table
--      cpIwfAal2Stats Group
--      cpIwf Pots Port Statistics Table
--      cpIwf ISDN-BRI Port Statistics Table

-- ------------------------------------------------------------- --
--
--      cpIwf Group
--

cpIwf                   OBJECT IDENTIFIER ::= { cpIwfMIBObjects 1 }

cpIwfVpi OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The VPI of the AAL2 VCC to which this CP-IWF is associated."
        ::= { cpIwf 1 }

cpIwfVci OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The VCI of the AAL2 VCC to which this CP-IWF is associated."
        ::= { cpIwf 2 }

cpIwfEchoCancellationSupport OBJECT-TYPE
        SYNTAX          INTEGER {
                                no (1),
                                yes (2)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Specifies whether or not the echo cancellation facility is
                supported or not supported at the CP-IWF."
        ::= { cpIwf 3 }

cpIwfNumPotsPorts OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of POTS user ports on the CP-IWF."
        ::= { cpIwf 4 }

cpIwfNumIsdnBriPorts OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of ISDN-BRI user ports on the CP-IWF."
        ::= { cpIwf 5 }

cpIwfTimingReference OBJECT-TYPE
        SYNTAX          INTEGER {
                                ntr(1),
                                adaptiveVoice(2),
                                freeRun(3)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "ntr - network timing reference, voice timing derived from
                the local network interface.
                adaptiveVoice - voice timing derived from incoming cell rate.
                freeRun - voice timing derived from an internal free-running
                timing source."
        ::= { cpIwf 6 }

cpIwfPotsPortEncodingSelectionMode OBJECT-TYPE
        SYNTAX          INTEGER {
                                independent(1),
                                masterSlave(2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object controls the encoding switching for POTS user
                ports.
                masterSlave - the profile entry used by the CP-IWF is the same
                as that selected by the CO-IWF.
                independent - the CP-IWF can select the profile entry used for
                transmission independently of the CO-IWF."
        DEFVAL { masterSlave }
        ::= { cpIwf 7 }

cpIwfIsdnBriPortEncodingSelectionMode OBJECT-TYPE
        SYNTAX          INTEGER {
                                independent(1),
                                masterSlave(2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object controls the encoding switching for ISDN BRI user
                ports.
                masterSlave - the profile entry used by the CP-IWF is the same
                as that selected by the CO-IWF.
                independent - the CP-IWF can select the profile entry used for
                transmission independently of the CO-IWF."
        DEFVAL { masterSlave }
        ::= { cpIwf 8 }

cpIwfElcpAndPstnChannelBandwidth OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The approximate maximum bandwidth of the aal2 connection with CID=8
                used to transport ELCP and PSTN signalling messages
                specified in bits per second at the physical layer."
        DEFVAL { 64000 }
        ::= { cpIwf 9 }

cpIwfAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER {
                                up (1),
                                down (2),
                                shuttingDown (3),
                                testing (4)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object is used to reflect the desired state of the CP-IWF. The
                actual state of the CP-IWF is given by cpIwfOperStatus. When this
                object is set to 'down', all existing calls on the CP-IWF are
                cleared immediately. If this object is set to 'shuttingDown', no
                further calls shall be accepted either incoming or outgoing on any
                of the CP-IWF user ports. Once all the calls on the CP-IWF have
                cleared gracefully the value of this object moves to 'down'."
        ::= { cpIwf 10 }

cpIwfOperStatus OBJECT-TYPE
        SYNTAX          INTEGER {
                                up (1),
                                down (2),
                                testing (3)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Provides the current operational status of the CP-IWF function."
        ::= { cpIwf 11 }

cpIwfRestart OBJECT-TYPE
        SYNTAX          INTEGER {
                                started (1),
                                warmStart (2),
                                coldStart (3)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "May be used to initiate a re-start of the CP-IWF function.  A Get
                operation performed on this object will always return 'started'.
                Re-start is initiated by performing a Set operation to either
                'warmStart' or 'coldStart'.
                A warmStart means initialising all state variables within the
                CP-IWF to their starting values.  A coldStart means rebooting
                the software process that implements the CP-IWF function.  It is
                desirable that a coldStart should not affect the operation of other
                functions within the LES device, including other CP-IWF instances."
        ::= { cpIwf 12 }

cpIwfTestType OBJECT-TYPE
        SYNTAX          INTEGER {
                                selfTest (1)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object is used to specify the type of test to run. The
                result of the self test will be stored in cpIwfTestResult.
                In order to run this test, the CO-IWF must first set the
                value of this object to the test that needs to be carried out.
                The CO-IWF must then set the cpIwfAdminStatus to 'testing'
                which will activate the test. To de-activate a test that does
                not self-terminate such as a loopback test, the CO-IWF must
                set the cpIwfAdminStatus to a value other than 'testing'."
        ::= { cpIwf 13 }

cpIwfTestResult OBJECT-TYPE
        SYNTAX          INTEGER {
                                null (1),
                                success (2),
                                failure (3),
                                inProgress (4)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Provides the result of the last self-test operation performed on
                the CP-IWF.  If no self-test has been performed, this object
                should return null (1)."
        ::= { cpIwf 14 }

cpIwfTestResultText OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..64))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Provides textual information about the result of the last self-test
                operation performed on the CP-IWF, or a zero-length string if no
                tests have been performed since the last reset."
        ::= { cpIwf 15 }

cpIwfPlayoutBufferDepth OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The amount of packet delay variation to be accommodated on all
                ports of the CP-IWF, in milliseconds."
        DEFVAL { 20 }
        ::= { cpIwf 16 }

cpIwfImpairmentInterval OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The period over which voice impairments should be counted to
                determine whether a threshold-crossing event has occurred, in
                minutes.  It is recommended that this value be set to an integral
                multiple of 5 minutes."
        DEFVAL { 15 }
        ::= { cpIwf 17 }

cpIwfImpairmentThreshold OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "If the number of impairment octets, calculated as the sum of
                fillerOctets and droppedOctets, that is observed on any individual
                POTS port or ISDN BRI port/channel during any interval of length
                cpIwfImpairmentInterval minutes is equal to or greater than the
                value of cpIwfImpairmentThreshold, then the trap
                cpIwfExcessImpairment will be sent to the CO-IWF.  A value of zero
                will disable the reporting of excess impairments."
        DEFVAL { 0 }
        ::= { cpIwf 18 }

cpIwfV5PSTNProtocolVariant OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "When the applicationIdentifier indicates the use of PSTN
                signalling for POTS the value of this object shall be set to the
                national PSTN protocol variant to be used, else this object is not
                applicable. The value of this object shall be the 2-digit country
                code, as defined in the E.164 numbering plan, followed by an
                optional carrier code. An SNMP Set operation to a value which is not
                supported shall result in an SNMP Response with error status of
                badValue(3)."
        DEFVAL { 44 }
        ::= { cpIwf 19 }

cpIwfMwdForRestart OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object defines the maximum waiting delay (MWD) in seconds
                used during restart. When this CP-IWF is powered on, it shall
                initiate a restart timer to a random value, uniformly distributed
                between 0 and the value of this object. Upon expiry of this timer
                or when activity is detected this CP-IWF shall send a coldStart
                Trap to its peer CO-IWF and initiate the restart procedure. The
                CP-IWF shall guarantee that the first message that the CO-IWF
                sees across the LES EOC after a restart of the CP-IWF is the
                coldStart Trap."
        DEFVAL { 600 }
        ::= { cpIwf 20 }

cpIwfEocBandwidth OBJECT-TYPE
        SYNTAX          INTEGER (300..640000)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Provides the approximate maximum bandwidth of the EOC in bits
                per second at the physical layer."
        DEFVAL { 32000 }
        ::= { cpIwf 21 }

cpIwfCurrentConfig OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object provides an efficient mechanism for a
                management entity to maintain synchronization with
                a CP-IWF current level of configuration. The value
                should be persistently stored on the CP-IWF and hence
                retain its previous value following a restart event.
                The CP-IWF EMS is expected to retain a local copy of
                this value. At any time (e.g., upon processing a cold
                start trap), if the CP-IWF EMS detects a mismatch
                between its copy and the value returned by CP-IWF, the
                CP-IWF EMS may initiate configuration synchronization
                operation with the CP-IWF and update this value. The
                CP-IWF shall reset this value to zero, if the configuration
                of the CP-IWF is changed by local management action or when
                it determines that the hardware/software configuration that
                affects the service capability of the CP-IWF has changed.
                This only applies to configuration changes and not other
                changeable objects such as statistics."
DEFVAL { 0 }
        ::= { cpIwf 22 }

cpIwfTrapGeneration OBJECT-TYPE
        SYNTAX          INTEGER {
                                enabled(1),
                                disabled_all(2),
                                disabled_except_coldStart(3)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Using this object, the CP-IWF EMS can globally disable all
                trap generation by the CP-IWF. By default, the CP-IWF shall
                be globally enabled to generate any/all traps that have not
                otherwise been selectively disabled. To globally suppress
                all trap generation by CP-IWF, CP-IWF EMS should set this
                object to value: disabled_all(2)."
        DEFVAL { enabled }
        ::= { cpIwf 23 }

cpIwfVendorName OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name of the vendor that produced the LES device in which
                this CP-IWF function resides."
        ::= { cpIwf 24 }

cpIwfDeviceType OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The vendor's designated model number for the LES device in which
                this CP-IWF function resides."
        ::= { cpIwf 25 }

cpIwfHardwareVersion OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The vendor's designated hardware revision for the LES device
                in which this CP-IWF function resides."
        ::= { cpIwf 26 }

cpIwfSoftwareVersion OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The vendor's designated software revision for the software that
                implements the CP-IWF function."
        ::= { cpIwf 27 }

-- ------------------------------------------------------------- --
--
--  cpIwfAal2Profile Group
--  This group specifies AAL2 CPS and SSCS parameters of operation
--  for AAL2 connections terminated by a CP-IWF. These include
--  I.363.2 (CPS), I.366.1 (SSSAR SSCS), I.366.2 (trunking SSCS) and
--  LES specific CPS parameters. Some of these parameters are implied
--  and are not included in this MIB however their implied values are
--  as follows.
--  - aal2SscsSstedStatus 'selected',
--  - aal2SscsSsadtStatus 'notSelected',
--  - aal2SscsServiceCategory 'audio',
--  - aal2SscsAudioServiceTransport 'enabled',
--  - aal2SscsMfR1DigitPacketTransport n/a,
--  - aal2SscsMfR2DigitPacketTransport n/a,
--  - aal2SscsCircuitModeDataTransport n/a,
--  - aal2SscsCircuitModeDataNumChannels n/a,
--  - aal2SscsFrameModeDataTransport n/a,
--  - aal2SscsFrameModeDataMaxLength n/a,
--  - aal2SscsCasSignallingTransport 'inferred by the AppId'

--  The CO-IWF is responsible for provisioning the AAL2 CPS and SSCS
--  parameters by setting appropriate values in this MIB. In the
--  absence of explicit provisioning of this group, the objects
--  in this group shall take the default values as specified. 
--  
--  Furthermore, these objects are read-write, however, it is possible
--  that certain AAL2 parameters may not be supported, e.g. an encoding
--  profile (aal2SscsPredefinedProfileIdentifier). In such cases an 
--  attempt to set a value for an object that is not supported shall
--  result an SNMP response with an error status of badValue(3).

cpIwfAal2Profile        OBJECT IDENTIFIER ::= { cpIwfMIBObjects 2 }

aal2ApplicationIdentifier OBJECT-TYPE
        SYNTAX          Integer32 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute describes the application identifier, which
                describes the type of signaling used. The value of this object
                should be one of those values given in the administered list of
                AppIDs in section 5 of the ATM Forum document of well-known
                addresses and assigned codes which can be located at 
                http://www.atmforum.com/pages/aboutatmtech/committees/
                public_assigned_codes.txt"      
        DEFVAL { '0000000A'H }
        ::= { cpIwfAal2Profile 1 }

aal2CpsMaxMultiplexedChannels OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Maximum number of multiplexed channels."
        DEFVAL { 255 }
        ::= { cpIwfAal2Profile 2 }

aal2CpsMaxSDULength OBJECT-TYPE
        SYNTAX          INTEGER (45 | 64)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Maximum CPS-SDU size given in octets."
        DEFVAL { 45 }
        ::= { cpIwfAal2Profile 3 }

aal2CpsCIDLowerLimit OBJECT-TYPE
        SYNTAX          INTEGER (16..223)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The minimum value the CID can take for AAL2 bearer channels and
                ISDN D-channels."
        DEFVAL { 16 }
        ::= { cpIwfAal2Profile 4 } 

aal2CpsCIDUpperLimit OBJECT-TYPE
        SYNTAX          INTEGER (16..223)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The maximum value the CID can take for AAL2 bearer channels and
                ISDN D-channels."
        DEFVAL { 223 }
        ::= { cpIwfAal2Profile 5 }

aal2CpsOptimisation OBJECT-TYPE
        SYNTAX          INTEGER {
                                singleCpsPacketPerCpsPduNoOverlap(1),
                                multipleCpsPacketsPerCpsPduWithOverlap(2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object refers to the mode of operation of the CPS on the
                CP-IWF. The value of this object imposes a restriction on the CPS
                SDU length and hence must override the value of
                aal2CpsMaxSDULength.
                singleCpsPacketPerCpsPduNoOverlap - A single CPS Packet is
                contained within a CPS PDU and no overlap can occur into the next
                CPS PDU. If this option is selected, then Timer_CU is not
                applicable. Also the AAL2 payload size must be less than or equal
                to 44 octets.
                multipleCpsPacketsPerCpsPduWithOverlap - Multiple CPS Packets are
                contained within a CPS PDU and overlap can occur into the next CPS
                PDU. If this option is selected, then Timer_CU is applicable. Also
                Max CPS SDU size must be less than or equal to 64."
        DEFVAL { singleCpsPacketPerCpsPduNoOverlap }
        ::= { cpIwfAal2Profile 6 }

aal2CpsTimerCuValue OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This parameter specifies value of the Timer_CU, in msec, for this
                VCC. This parameter has meaning only if the value of the parameter
                aal2CpsOptimisation is set to multipleCpsPacketperCpsPduWithOverlap.
                Although no default value is provided for this parameter, a value
                must be assigned to the parameter during the startup of the
                CP-IWF."
        DEFVAL { 0 }
        ::= { cpIwfAal2Profile 7 }

aal2SscsFaxDemodulationTransport OBJECT-TYPE
        SYNTAX          INTEGER {
                                disabled(1),
                                enabled(2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies whether fax demodulation is enabled or disabled.
                An SNMP Set to enable(2) when fax demodulation is not supported
                must result in an SNMP response with error status of badValue(3)."
        DEFVAL { disabled }
        ::= { cpIwfAal2Profile 8 }

aal2SscsDtmfDigitPacketTransport OBJECT-TYPE
        SYNTAX          INTEGER {
                                disabled(1),
                                enabled(2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute describes whether DTMF digit packet transport is
                enabled or disabled. If the parameter value specifies 'enabled',
                then type 3 dialled digit packets are only passed if the encoding
                scheme being used cannot transparently pass DTMF tones. If the
                parameter value specifies 'disabled', then a higher rate encoding
                scheme should be used to transparently pass DTMF tones."
        DEFVAL { disabled }
        ::= { cpIwfAal2Profile 9 }

aal2SscsPcmEncoding OBJECT-TYPE
        SYNTAX          INTEGER {
                                aLaw (1),
                                uLaw (2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute describes the type of PCM encoding used."
        DEFVAL { aLaw }
        ::= { cpIwfAal2Profile 10 }

aal2SscsMaxSssarSduLength OBJECT-TYPE
        SYNTAX          INTEGER (493..65568)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the maximum size an SSSAR-SDU can take as defined in
                I.366.1. This parameter only applies to those AAL2 channels using
                I.366.1 SSSAR."
        DEFVAL { 1500 }
        ::= { cpIwfAal2Profile 11 }

aal2SscsProfileSource OBJECT-TYPE
        SYNTAX          INTEGER {
                                ituT (1),
                                other (2)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute describes the source of the profile source. An
                SNMP Set on this object to an unsupported profile source must
                result in an SNMP Response with error status of badValue(3)."
        DEFVAL { other }
        ::= { cpIwfAal2Profile 12 }

aal2SscsPredefinedProfileIdentifier OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute describes the predefined profile identifier. An
                SNMP Set on this object to an unsupported profile must
                result in an SNMP Response with error status of badValue(3)."
        DEFVAL { 9 }
        ::= { cpIwfAal2Profile 13 }

aal2SscsIeeeOui OBJECT-TYPE
        SYNTAX          Integer32 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This attribute contains the IEEE Organizationally Unique
                Identifier (OUI) of the entity that specified the profile
                being used, if other than ITU-T. For example, if the source
                is the ATM Forum, the value of this object is 00A03E. This
                attribute is only meaningful if aal2SccsProfileSource
                has the value 'other'. An SNMP Set on this object to an
                unsupported profile source must result in an SNMP Response with
                error status of badValue(3)."
        DEFVAL { '00A03E'h }
        ::= { cpIwfAal2Profile 14 }

aal2SscsSsSarAssemblyTimerValue OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This object specifies the value of the segmentation reassembly
                timer, in msec, for I.366.1 SAR. The default value
                specified for this timer is effectively an infinite value per
                I.366.1."
        DEFVAL { 2147483647 }
        ::= { cpIwfAal2Profile 15 }

-- ------------------------------------------------------------- --
--
--  cpIwfPotsPortTable
--

cpIwfPotsPortTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CpIwfPotsPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains information on the configuration of the 
                POTS ports on the CP-IWF in addition to the information 
                contained in the ifTable about the physical interfaces to which 
                the CP-IWF POTS ports are peering with currently."
        ::= { cpIwfMIBObjects 3 }

cpIwfPotsPortEntry OBJECT-TYPE
        SYNTAX          CpIwfPotsPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
                "An entry in the cpIwfPotsPortTable that represents a single
                 POTS port."
        INDEX           { potsPortNumber }
        ::= { cpIwfPotsPortTable 1 }

CpIwfPotsPortEntry ::= SEQUENCE {
                potsPortNumber          Integer32,
                potsPhysicalPort                Integer32,
                aal2ChannelId                   INTEGER,
                potsPortTestType                INTEGER,
                signalingMethod         INTEGER,
                potsPortLabel                   OCTET STRING
        }

potsPortNumber OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The number identifying the POTS user port on the CP-IWF."
        ::= { cpIwfPotsPortEntry 1 }

potsPhysicalPort OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This has the value of the ifIndex of the ifEntry of the physical
                POTS port to which this CP-IWF POTS port is connected. The value
                of (0) has the special meaning that this POTS port is not connected
                to any physical port on the LES device."
        ::= { cpIwfPotsPortEntry 2 }

aal2ChannelId OBJECT-TYPE
        SYNTAX          INTEGER (16..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The CID of the AAL2 connection transporting this port's traffic 
                over the AAL2 VCC.
                When the aal2ApplicationIdentifier indicates the presence of ELCP,
                this object should not be used for CID allocation and the value of
                this object is not applicable.  In addition, if an SNMP operation
                is attempted on this object, an SNMP response with error status of
                badValue (3) should be returned."
        ::= { cpIwfPotsPortEntry 3 }

potsPortTestType OBJECT-TYPE
        SYNTAX          INTEGER {
                                none (1),
                                codecLoopback (2),
                                aal2Loopback (3)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object is used to specify the type of test to run for
                POTS ports. There are no results stored locally for a loopback
                test. The tests involve looping back the media stream at either
                the codec (PCM loopback) or the AAL2 layer (CPS loopback).
                In order to run these tests, the CO-IWF must first set the value of
                this object appropriate to the test that needs to be run. The CO-IWF
                should then set the value of ifAdminStatus in the corresponding
                ifEntry to 'testing'.
                The CO-IWF should verify that the test is in progress by checking
                that the value of ifOperStatus in the corresponding ifEntry is
                equal to 'testing'. Once testing is complete the CO-IWF must set
                the ifAdminStatus to a value other than 'testing'.
                Note that the LES device must not allow a CO-IWF to manipulate
                the ifAdminStatus of physical user ports that do not belong to
                its managed CP-IWF."
        ::= { cpIwfPotsPortEntry 4 }

signalingMethod OBJECT-TYPE
        SYNTAX          INTEGER {
                                loopStart (1),
                                loopReverseBattery (2),
                                groundStart (3),
                                ddiPbxStart (4)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The signalling method to use for this user port."
        DEFVAL { loopStart }
        ::= { cpIwfPotsPortEntry 5 }

potsPortLabel OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Label assigned by service provider to identify this CP-IWF port.
                For example, may be used to hold Directory Number."
        ::= { cpIwfPotsPortEntry 6 }

-- ------------------------------------------------------------- --
--
--  cpIwfIsdnBriPortTable
--

cpIwfIsdnBriPortTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CpIwfIsdnBriPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains information on the configuration of the 
                ISDN BRI ports on the CP-IWF in addition to the information 
                contained in the ifTable about the physical interfaces to which 
                the CP-IWF ports are peering with currently."
        ::= { cpIwfMIBObjects 4 }

cpIwfIsdnBriPortEntry OBJECT-TYPE
        SYNTAX          CpIwfIsdnBriPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
                "An entry in the cpIwfIsdnBriPortTable that represents a single
                ISDN BRI port."
        INDEX           { isdnBriPortNumber }
        ::= { cpIwfIsdnBriPortTable 1 }

CpIwfIsdnBriPortEntry ::= SEQUENCE {
                isdnBriPortNumber               Integer32,
                isdnBriPhysicalPort             Integer32,
                aal2ChannelIdD          INTEGER,
                aal2ChannelIdB1         INTEGER,
                aal2ChannelIdB2         INTEGER,
                isdnBriPortLabel                OCTET STRING,
                isdnBriPortTestType             INTEGER
        }

isdnBriPortNumber OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " The number identifying the ISDN BRI user port on the CP-IWF."
        ::= { cpIwfIsdnBriPortEntry 1 }

isdnBriPhysicalPort OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This has the value of the ifIndex of the ifEntry of the physical
                ISDN BRI port to which this CP-IWF ISDN BRI port is connected. The
                value of (0) has the special meaning that this ISDN BRI port is
                not connected to any physical port on the LES device."
        ::= { cpIwfIsdnBriPortEntry 2 }

aal2ChannelIdD OBJECT-TYPE
        SYNTAX          INTEGER (16..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The CID of the AAL2 connection transporting the D channel of this
                ISDN BRI port over the AAL2 VCC. The default value of this object is
                determined by the formula defined in af-vmoa-0145.000 section 4.4.2.
                When the aal2ApplicationIdentifier indicates the presence of ELCP,
                this object should not be used for CID allocation and the value of
                this object is not applicable.  In addition, if an SNMP operation
                is attempted on this object, an SNMP response with error status of
                badValue (3) should be returned."
        ::= { cpIwfIsdnBriPortEntry 3 }

aal2ChannelIdB1 OBJECT-TYPE
        SYNTAX          INTEGER (16..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The CID of the AAL2 connection transporting the B1 channel of this
                ISDN BRI port over the AAL2 VCC. The default value of this object is
                determined by the formula defined in af-vmoa-0145.000 section 4.4.2.
                When the aal2ApplicationIdentifier indicates the presence of ELCP,
                this object should not be used for CID allocation and the value of
                this object is not applicable.  In addition, if an SNMP operation
                is attempted on this object, an SNMP response with error status of
                badValue (3) should be returned."
        ::= { cpIwfIsdnBriPortEntry 4 }

aal2ChannelIdB2 OBJECT-TYPE
        SYNTAX          INTEGER (16..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The CID of the AAL2 connection transporting the B2 channel of this
                ISDN BRI port over the AAL2 VCC. The default value of this object is
                determined by the formula defined in af-vmoa-0145.000 section 4.4.2.
                When the aal2ApplicationIdentifier indicates the presence of ELCP,
                this object should not be used for CID allocation and the value
                this object is not applicable.  In addition, if an SNMP operation
                is attempted on this object, an SNMP response with error status of
                badValue (3) should be returned."
        ::= { cpIwfIsdnBriPortEntry 5 }

isdnBriPortLabel OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Label assigned by service provider to identify this CP-IWF port.
                For example, may be used to hold Directory Number."
        ::= { cpIwfIsdnBriPortEntry 6 }

isdnBriPortTestType OBJECT-TYPE
        SYNTAX          INTEGER {
                                physicalPortLoopback (1),
                                dChannelPhysicalPortLoopback (2),
                                b1ChannelPhysicalPortLoopback (3),
                                b2ChannelPhysicalPortLoopback (4),
                                dChannelAal2Loopback (5),
                                b1ChannelAal2Loopback (6),
                                b2ChannelAal2Loopback (7)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object is used to specify the type of test to run for
                ISDN-BRI ports. There are no results stored locally for a
                loopback test. Loopback of the whole ISDN-BRI physical user
                port is supported where all the D, B1 and B2 channels are
                looped back simultaneously, along with individual loopback
                of the D, B1 and B2 channels. AAL2 Loopback is also supported
                on a per sub-channel basis. In order to run these tests, the
                CO-IWF must first set the value of this object appropriate to
                the test that needs to be run. The CO-IWF should then set the
                value of ifAdminStatus in the corresponding ifEntry to 'testing'.
                The CO-IWF should verify that the test is in progress by checking
                that the value of ifOperStatus in the corresponding ifEntry is
                equal to 'testing'. Once testing is complete the CO-IWF must set
                the ifAdminStatus to a value other than 'testing'.
                Note that the LES device must not allow a CO-IWF to manipulate
                the ifAdminStatus of physical user ports that do not belong to
                its managed CP-IWF."
        ::= { cpIwfIsdnBriPortEntry 7 }

-- ------------------------------------------------------------- --
--
--  cpIwfAal2Stats Group
--

cpIwfAal2Stats  OBJECT IDENTIFIER ::= { cpIwfMIBObjects 6 }

aal2CpsInPkts OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of CPS packets received"
        ::= { cpIwfAal2Stats 1 }
        
aal2CpsOutPkts OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of CPS packets transmitted"
        ::= { cpIwfAal2Stats 2 }

aal2CpsParityErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 0)"
        ::= { cpIwfAal2Stats 3 }

aal2CpsSeqNumErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 1)"
        ::= { cpIwfAal2Stats 4 }

aal2CpsOsfMismatchErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 2)"
        ::= { cpIwfAal2Stats 5 }

aal2CpsOsfErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 3)"
        ::= { cpIwfAal2Stats 6 }

aal2CpsHecErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 4)"
        ::= { cpIwfAal2Stats 7 }

aal2CpsOversizedSduErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 5)"
        ::= { cpIwfAal2Stats 8 }

aal2CpsReassemblyErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 6)"
        ::= { cpIwfAal2Stats 9 }

aal2CpsHecOverlapErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 7)"
        ::= { cpIwfAal2Stats 10 }

aal2CpsUuiErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 8)"
        ::= { cpIwfAal2Stats 11 }

aal2CpsCidErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 6/I.363.2
                (errnum = 9)"
        ::= { cpIwfAal2Stats 12 }

aal2SscsOversizedSssarSduErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 3/I.366.1
                (errnum = 10)"
        ::= { cpIwfAal2Stats 13 }

aal2SscsSssarRasTimerExpiryErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 3/I.366.1
                (errnum = 11)"
        ::= { cpIwfAal2Stats 14 }

aal2SscsUndersizedSstedPduErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 5/I.366.1
                (errnum = 20)"
        ::= { cpIwfAal2Stats 15 }

aal2SscsSstedPduLengthMismatchErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 5/I.366.1
                (errnum = 21)"
        ::= { cpIwfAal2Stats 16 }

aal2SscsSstedCrcMismatchErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Number of errors encountered as specified in Table 5/I.366.1
                (errnum = 22)"
        ::= { cpIwfAal2Stats 17 }

-- ------------------------------------------------------------- --
--
--  cpIwfPotsPortStatsTable
--

cpIwfPotsPortStatsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CpIwfPotsPortStatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains performance statistics pertinent to POTS
                ports respectively in addition to the information contained in the
                ifTable about the physical interfaces to which the CP-IWF ports
                are peering with currently"
        ::= { cpIwfMIBObjects  7}

cpIwfPotsPortStatsEntry OBJECT-TYPE
        SYNTAX          CpIwfPotsPortStatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
                "An entry in the cpIwfPotsPortStatsTable that represents
                statistics for a single POTS port."
        INDEX           { potsPortNumber }
        ::= { cpIwfPotsPortStatsTable 1 }

CpIwfPotsPortStatsEntry ::= SEQUENCE {
                cpIwfPotsPortActiveSeconds      Counter32,
                cpIwfPotsPortFillerOctets       Counter32,
                cpIwfPotsPortDroppedOctets      Counter32
        }

cpIwfPotsPortActiveSeconds OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total length of time the AAL2 channel associated with this port
                has been active, in seconds."
        ::= { cpIwfPotsPortStatsEntry 1 }

cpIwfPotsPortFillerOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM filler octets injected into active media
                stream on this port due to playout buffer underflow."
        ::= { cpIwfPotsPortStatsEntry 2 }

cpIwfPotsPortDroppedOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM payload octets dropped due to buffer overflow
                at this port. Octets that are dropped because they arrived late,
                and which have already been substituted by filler PCM octets,
                shall not be counted."
        ::= { cpIwfPotsPortStatsEntry 3 }

-- ------------------------------------------------------------- --
--
--  cpIwfIsdnBriPortStatsTable
--

cpIwfIsdnBriPortStatsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CpIwfIsdnBriPortStatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains performance statistics pertinent to ISDN BRI
                ports respectively in addition to the information contained in the
                ifTable about the physical interfaces to which the CP-IWF ports
                are peering with currently"
        ::= { cpIwfMIBObjects  8}

cpIwfIsdnBriPortStatsEntry OBJECT-TYPE
        SYNTAX          CpIwfIsdnBriPortStatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
                "An entry in the cpIwfIsdnBriPortStatsTable that represents
                statistics for a single ISDN BRI port."
        INDEX           { isdnBriPortNumber }
        ::= { cpIwfIsdnBriPortStatsTable 1 }

CpIwfIsdnBriPortStatsEntry ::= SEQUENCE {
                cpIwfIsdnBriPortB1ActiveSeconds Counter32,
                cpIwfIsdnBriPortB1FillerOctets  Counter32,
                cpIwfIsdnBriPortB1DroppedOctets Counter32,
                cpIwfIsdnBriPortB2ActiveSeconds Counter32,
                cpIwfIsdnBriPortB2FillerOctets  Counter32,
                cpIwfIsdnBriPortB2DroppedOctets Counter32
        }

cpIwfIsdnBriPortB1ActiveSeconds OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total length of time the AAL2 channel associated with this
                port/channel has been active, in seconds."
        ::= { cpIwfIsdnBriPortStatsEntry 1 }

cpIwfIsdnBriPortB1FillerOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM filler octets injected into active media
                stream on this port/channel due to playout buffer underflow."
        ::= { cpIwfIsdnBriPortStatsEntry 2 }

cpIwfIsdnBriPortB1DroppedOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM payload octets dropped due to buffer overflow
                on this port/channel.  Octets that are dropped because they
                arrived late, and which have already been substituted by filler
                PCM octets, shall not be counted."
        ::= { cpIwfIsdnBriPortStatsEntry 3 }

cpIwfIsdnBriPortB2ActiveSeconds OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total length of time the AAL2 channel associated with this
                port/channel has been active, in seconds."
        ::= { cpIwfIsdnBriPortStatsEntry 4 }

cpIwfIsdnBriPortB2FillerOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM filler octets injected into active media
                stream on this port/channel due to playout buffer underflow."
        ::= { cpIwfIsdnBriPortStatsEntry 5 }

cpIwfIsdnBriPortB2DroppedOctets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Total number of PCM payload octets dropped due to buffer overflow
                on this port/channel.  Octets that are dropped because they
                arrived late, and which have already been substituted by filler
                PCM octets, shall not be counted."
        ::= { cpIwfIsdnBriPortStatsEntry 6 }

-- ------------------------------------------------------------- --
-- The following section defines Loop Emulation Service specific
-- traps for the CP-IWF as a whole (not port specific).
--
-- CP-IWF enterprise traps group
--

cpIwfMIBNotificationPrefix      OBJECT IDENTIFIER ::= { cpIwfMIBNotifications 0 }

cpIwfInsufficientPhysicalBandwidth NOTIFICATION-TYPE
        OBJECTS { cpIwfUpstreamPhysicalBandwidth,
                cpIwfDownstreamPhysicalBandwidth }
        STATUS          current
        DESCRIPTION
                "This trap is generated when the physical layer bandwidth in either
                direction drops below the currently configured AAL2 VCC bandwidth."
        ::= { cpIwfMIBNotificationPrefix 1 }

cpIwfUpstreamPhysicalBandwidth OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This object defines the new physical bandwidth in the upstream
                direction of the CP-IWF."
        ::= { cpIwfMIBObjects 9 }

cpIwfDownstreamPhysicalBandwidth OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This object defines the new physical bandwidth in the downstream
                direction of the CP-IWF."
        ::= { cpIwfMIBObjects 10 }

cpIwfExcessImpairment NOTIFICATION-TYPE
        OBJECTS { cpIwfImpairmentPortType, cpIwfPortNumber }
        STATUS          current
        DESCRIPTION
                "This trap is generated when the number of impairments on any POTS
                port or ISDN BRI port/channel, measured as the sum of fillerOctets
                and droppedOctets on that port, in any given interval of
                cpIwfImpairmentInterval minutes, is equal to or greater than the
                value of cpIwfImpairmentThreshold.  If the value of
                cpIwfImpairmentThreshold is zero, then this trap is never
                generated."
        ::= { cpIwfMIBNotificationPrefix 2 }

cpIwfImpairmentPortType OBJECT-TYPE
        SYNTAX          INTEGER {
                                pots (1),
                                isdnBriB1 (2),
                                isdnBriB2 (3)
                        }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This object is used within the cpIwfExcessImpairment Trap and
                identifies the type of the CP-IWF port on which the excess
                impairments event occurred."
        ::= { cpIwfMIBObjects 11 }

cpIwfPortNumber OBJECT-TYPE
        SYNTAX          INTEGER (1..240)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This object is used within traps to identify the port number to
                which the trap refers. The range of values this object can take is
                dependent on port type and is defined in af-vmoa-0145.000 section
                4.4.2"
        ::= { cpIwfMIBObjects 12 }

-- ------------------------------------------------------------- --
--
-- Conformance information

cpIwfMIBConformance             OBJECT IDENTIFIER ::= { cpIwfMIB 3 }
cpIwfMIBCompliances             OBJECT IDENTIFIER ::= { cpIwfMIBConformance 1 }
cpIwfMIBGroups          OBJECT IDENTIFIER ::= { cpIwfMIBConformance 2 }

-- compliance statements

cpIwfMIBCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION
                "The compliance statement for SNMP entities that support LES as
                specified in af-vmoa-0145.000 of the ATM Forum.

                Note the Trap types and associated MIB objects defined in this MIB
                are required implementations to claim conformance to this MIB.

                For a host to conform to this MIB it must also implement:

                        - The System Group from RFC 1213
                        
                        - ifTable and ifXTable from RFC 2863. See section 6 of this
                          specification for interpretations of the ifTable and
                          ifXTable objects as they apply to LES."

        MODULE -- this module
        MANDATORY-GROUPS {
                cpIwfGeneralGroup,
                cpIwfNotificationsGroup
        }

        GROUP           cpIwfAal2ConfigGroup
        DESCRIPTION
                "This group is mandatory only for those CP-IWFs that use PVCs
                between the CP-IWF and CO-IWF. It is not required in the presence of
                SVCs as all AAL2 parameters shall be supplied during SVC setup."

        GROUP           cpIwfAal2StatsGroup
        DESCRIPTION
                "This group is mandatory only for those CP-IWFs that provide AAL2
                statistics."

        GROUP           cpIwfPotsPortConfigGroup
        DESCRIPTION
                "This group is mandatory only for those CP-IWFs
                that host POTS services."

        GROUP           cpIwfPotsPortStatsGroup
        DESCRIPTION
                "This group is mandatory only if the CP-IWF provides statistics for
                any POTS ports it hosts."

        GROUP           cpIwfIsdnBriPortConfigGroup
        DESCRIPTION
                "This group is mandatory only for those CP-IWFs
                that host ISDN BRI services."

        GROUP           cpIwfIsdnBriPortStatsGroup
        DESCRIPTION
                "This group is mandatory only if the CP-IWF provides statistics for
                any ISDN BRI ports it hosts."

        GROUP           cpIwfPotsPortCidConfigGroup
        DESCRIPTION
                "This group is mandatory for CP-IWFs that host POTS services, only
                in the absence of ELCP as a mechanism for CID allocation."

        GROUP           cpIwfIsdnBriPortCidConfigGroup 
        DESCRIPTION
                "This group is mandatory for CP-IWFs that host ISDN BRI services,
                only in the absence of ELCP as a mechanism for CID allocation."

        GROUP           cpIwfElcpPstnGroup
        DESCRIPTION
                "This group is mandatory for those CP-IWFs that implement either
                the CCS signaling option or the ELCP."

        GROUP           cpIwfPlayoutBufferGroup
        DESCRIPTION
                "This group is mandatory only for those CP-IWFs that make the
                playout buffer depth configurable and provide a means to detect
                impairments."

        GROUP           cpIwfImpairmentNotificationsGroup
        DESCRIPTION
                "This group is mandatory if the cpIwfPlayoutBufferGroup is
                implemented."

::= { cpIwfMIBCompliances 1}

-- Units of Conformance

cpIwfGeneralGroup       OBJECT-GROUP
        OBJECTS {
                cpIwfVpi,
                cpIwfVci,
                cpIwfTimingReference,
                cpIwfEchoCancellationSupport,
                cpIwfAdminStatus,
                cpIwfOperStatus,
                cpIwfRestart,
                cpIwfTestType,
                cpIwfTestResult,
                cpIwfTestResultText,
                cpIwfMwdForRestart,
                cpIwfEocBandwidth,
                cpIwfCurrentConfig,
                cpIwfTrapGeneration,
                cpIwfVendorName,
                cpIwfDeviceType,
                cpIwfHardwareVersion,
                cpIwfSoftwareVersion,
                cpIwfUpstreamPhysicalBandwidth,
                cpIwfDownstreamPhysicalBandwidth,
                cpIwfPortNumber
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects required to manage the
                CP-IWF as a whole"
        ::= { cpIwfMIBGroups 1 }

cpIwfAal2ConfigGroup    OBJECT-GROUP
        OBJECTS {
                aal2ApplicationIdentifier,
                aal2CpsMaxMultiplexedChannels,
                aal2CpsMaxSDULength,
                aal2CpsCIDLowerLimit,
                aal2CpsCIDUpperLimit,
                aal2CpsOptimisation,
                aal2CpsTimerCuValue,
                aal2SscsMaxSssarSduLength,
                aal2SscsFaxDemodulationTransport,
                aal2SscsDtmfDigitPacketTransport,
                aal2SscsPcmEncoding,
                aal2SscsProfileSource,
                aal2SscsPredefinedProfileIdentifier,
                aal2SscsIeeeOui,
                aal2SscsSsSarAssemblyTimerValue
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects describing the configuration of the AAL2
                layer specific to LES"
        ::= { cpIwfMIBGroups 2 }

cpIwfPotsPortConfigGroup        OBJECT-GROUP
        OBJECTS {
                cpIwfNumPotsPorts,
                cpIwfPotsPortEncodingSelectionMode,
                potsPhysicalPort,
                potsPortTestType,
                signalingMethod,
                potsPortLabel
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects describing the configuration of the POTS
                ports on a CP-IWF."
        ::= { cpIwfMIBGroups 3 }

cpIwfIsdnBriPortConfigGroup     OBJECT-GROUP
        OBJECTS {
                cpIwfNumIsdnBriPorts,
                cpIwfIsdnBriPortEncodingSelectionMode,
                isdnBriPhysicalPort,
                isdnBriPortLabel,
                isdnBriPortTestType
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects describing the configuration of the ISDN
                BRI ports on a CP-IWF."
        ::= { cpIwfMIBGroups 4 }

cpIwfPotsPortCidConfigGroup OBJECT-GROUP
        OBJECTS {
                aal2ChannelId
        }
        STATUS          current
        DESCRIPTION
                "Object describing the static CID allocation to a
                user-side POTS termination. This object is required
                when ELCP is not used as a mechanism for CID allocation."
        ::= { cpIwfMIBGroups 5 }

cpIwfIsdnBriPortCidConfigGroup OBJECT-GROUP
        OBJECTS {
                aal2ChannelIdD,
                aal2ChannelIdB1,
                aal2ChannelIdB2
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects describing the static CID
                allocations to the D, B1 and B2 channels of a user-side
                ISDN-BRI termination. These objects are required when
                ELCP is not used as a mechanism for CID allocation."
        ::= { cpIwfMIBGroups 6 }

cpIwfAal2StatsGroup     OBJECT-GROUP
        OBJECTS {
                aal2CpsInPkts,
                aal2CpsOutPkts,
                aal2CpsParityErrors,
                aal2CpsSeqNumErrors,
                aal2CpsOsfMismatchErrors,
                aal2CpsOsfErrors,
                aal2CpsHecOverlapErrors,
                aal2CpsHecErrors,
                aal2CpsOversizedSduErrors,
                aal2CpsReassemblyErrors,
                aal2CpsUuiErrors,
                aal2CpsCidErrors,
                aal2SscsOversizedSssarSduErrors,
                aal2SscsSssarRasTimerExpiryErrors,
                aal2SscsUndersizedSstedPduErrors,
                aal2SscsSstedPduLengthMismatchErrors,
                aal2SscsSstedCrcMismatchErrors
        }
        STATUS            current
        DESCRIPTION
                "These objects provide statistics on the AAL2 layer"
        ::= { cpIwfMIBGroups 7 }

cpIwfPotsPortStatsGroup  OBJECT-GROUP
        OBJECTS {
                cpIwfPotsPortActiveSeconds,
                cpIwfPotsPortFillerOctets,
                cpIwfPotsPortDroppedOctets
        }
        STATUS           current
        DESCRIPTION
                "These objects provide statistics on the POTS ports"
        ::= { cpIwfMIBGroups 8 }

cpIwfIsdnBriPortStatsGroup OBJECT-GROUP
        OBJECTS {
                cpIwfIsdnBriPortB1ActiveSeconds,
                cpIwfIsdnBriPortB1FillerOctets,
                cpIwfIsdnBriPortB1DroppedOctets,
                cpIwfIsdnBriPortB2ActiveSeconds,
                cpIwfIsdnBriPortB2FillerOctets,
                cpIwfIsdnBriPortB2DroppedOctets
        }
        STATUS           current
        DESCRIPTION
                "These objects provide statistics on the ISDN BRI ports"
        ::= { cpIwfMIBGroups 9 }

cpIwfElcpPstnGroup OBJECT-GROUP
        OBJECTS {
                cpIwfV5PSTNProtocolVariant,
                cpIwfElcpAndPstnChannelBandwidth
        }
        STATUS          current
        DESCRIPTION
                "Objects for setting the V5 PSTN protocol variant and the
                maximum bandwidth to be used for transmission of PSTN or
                ELCP messages."
        ::= { cpIwfMIBGroups 10 }

cpIwfPlayoutBufferGroup OBJECT-GROUP
        OBJECTS {
                cpIwfPlayoutBufferDepth,
                cpIwfImpairmentInterval,
                cpIwfImpairmentThreshold,
                cpIwfImpairmentPortType
        }
        STATUS          current
        DESCRIPTION
                "A collection of objects used for configuring the playout
                buffer depth and to detect impairments to do incorrect setting
                of this buffer depth."
        ::= { cpIwfMIBGroups 11 }

cpIwfNotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS { cpIwfInsufficientPhysicalBandwidth }
        STATUS          current
        DESCRIPTION
                "The notification(s) which a CP-IWF is required to implement"
        ::= { cpIwfMIBGroups 12 }

cpIwfImpairmentNotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS { cpIwfExcessImpairment }
        STATUS          current
        DESCRIPTION
                "This group specifies the notification used to inform the CO-IWF
                of impairments due to incorrect playout buffer depth, or corruption
                or loss of AAL2 packets by the network."
        ::= { cpIwfMIBGroups 13 }

END